S

SideButton Marketing Website Knowledge Module

SideButton Marketing Website Portal — Automations — Knowledge Module Reference

SideButton Marketing Website knowledge module — UI selectors, data model, and page states documenting Portal — Automations.

Available free v1.0.3 Browser
$ sidebutton install SideButton Marketing Website
Download ZIP
Path
/portal/automations
Verified
2026-03-24
Confidence
97%
Role playbooks
0
Pack
SideButton Marketing Website
Domain
sidebutton.com

What This Is

Workflow trigger automation page -- allows creating automations that automatically dispatch workflow jobs to agents based on events from Jira, SideButton, or a cron schedule. Each automation has a WHEN trigger configuration and a WHAT action configuration (workflow, agent, effort level). Automations can be enabled/disabled via toggle switches, manually triggered, and show dispatch count badges linking to the queue. The page lists all automations with their trigger type, workflow label, and action buttons.

URL Patterns

PatternDescription
/portal/automationsAutomation list
/portal/automations/{id}Automation detail view
/portal/automations/{id}/editEdit automation

Page Structure

+--[Sidebar]--+--[Main Content]------------------------------------------+
|  Chat       |  H1: "Automations"        [+ New Automation] button       |
|  Agents     |  "N automations"                                          |
|  Jobs       |                                                           |
|  Queue      |  [Create Form] (hidden by default)                       |
|  Automations|    Name [text input]                                      |
|  Workflows  |    WHEN — Trigger                                         |
|  Settings   |      Trigger Type [dropdown: Jira / SideButton / Cron]   |
|             |      [Dynamic trigger properties]                         |
|             |    WHAT — Action                                          |
|             |      Workflow [dropdown]                                  |
|             |      Agent [dropdown]                                     |
|             |      [Dynamic workflow params]                            |
|             |      Effort [Max / High / Medium toggle]                  |
|             |    [Cancel] [Save]                                        |
|             |                                                           |
|             |  [Automation List]                                        |
|             |    [toggle] Name [trigger badge] [workflow label]         |
|             |             [dispatch count badge] [edit] [trigger] [del] |
|             |                                                           |
|             |  OR "No automations yet" empty state                     |
+-------------+-----------------------------------------------------------+

Key Elements

Header

ElementSelector / RefNotes
Page headingheading "Automations"H1
Automation count[data-automation-count]"N automations" or "N automation"
New Automation buttonbutton "+ New Automation"Sky blue outlined button, top-right, shows create form

Create/Edit Form

ElementSelector / RefNotes
Name input#form-nameText input, placeholder "My automation"
WHEN section.p-4.rounded-lg (1st)"When — Trigger" label, contains trigger type and properties
Trigger Type dropdown#form-trigger-typeOptions: "— Select Trigger —", "Jira", "SideButton", "Cron"
Trigger properties#trigger-propertiesDynamic container — content changes based on trigger type

Jira Trigger Properties (when trigger_type = "Jira")

Requires Jira credentials in Settings. If not configured, filter controls are replaced by a yellow warning banner: "Jira connection required — Configure Jira URL, email, and API token in Settings to enable filters." with a link to Settings.

ElementSelector / RefNotes
Warning bannerYellow box in #trigger-propertiesShown when Jira is not configured; replaces filter controls
Settings linklink "Settings" inside warningLinks to /portal/settings
Project filter#jira-projectSelect dropdown for Jira project (only when configured)
Issue type filter#jira-issue-typeSelect dropdown for issue type (only when configured)
Assignee search#jira-userText input with datalist autocomplete (only when configured)
Assignee hidden value#jira-user-valueHidden field storing account ID
Assignee datalist#assignee-listDatalist for user autocomplete
Status filter#jira-statusSelect dropdown for issue status (only when configured)

SideButton Trigger Properties (when trigger_type = "SideButton")

Shows "SIDEBUTTON TRIGGER FILTERS" section heading. Workflow and Event Type dropdowns are side-by-side; Agent is on a separate row below.

ElementSelector / RefNotes
Workflow filter#sb-workflowSelect dropdown, labeled "Workflow (optional)". Default "Any workflow". Lists all 13 workflows as Title-Case-Dash names (e.g. "Se-Work", "Qa-Validate")
Event type filter#sb-event-typeSelect, labeled "Event Type (optional)". Default "Any event". Options: "Completed", "Started"
Agent filter#sb-agentSelect, labeled "Agent (optional)". Default "Any agent". Options include "Same agent (from triggering job)" + specific agents
Info textBelow agent filter"Agent name and ticket URL (if present) from the triggering job will be passed to the dispatched job."

Cron Trigger Properties (when trigger_type = "Cron")

Shows "CRON TRIGGER" section heading.

ElementSelector / RefNotes
Schedule input#cron-scheduleText input labeled "Schedule", placeholder "minute hour day month weekday"
Preset buttons.cron-presetButtons with data-cron attr: "Every hour", "Daily 9am", "Weekdays 9am", "Weekly Mon 9am"
Info textBelow presets"No ticket_url is mapped for cron triggers. Set a static value in workflow params if needed."

WHAT — Action Section

ElementSelector / RefNotes
WHAT section.p-4.rounded-lg (2nd)"What — Action" label, contains workflow, agent, params, effort
Workflow dropdown#form-workflow13 workflows across all roles (SE, QA, PM, OPS, SD). Uses dash-separated IDs (e.g. se-work, qa-validate, pm-drive)
Agent dropdown#form-agentDefault "Any available agent", lists all agents with display_name + hostname
Workflow params container#workflow-params"WORKFLOW PARAMETERS" heading. Appears when any workflow is selected. All workflows show ticket_url + hint params
Ticket URL param#param-ticket-urlText input. Auto-filled with {{trigger.ticket_url}} for Jira/SideButton triggers. Help text: "Ticket URL passed to the workflow. Use {{trigger.ticket_url}} for auto-mapping."
Hint param#param-hintTextarea, labeled "hint (optional)". Placeholder: "Static instructions for the workflow.."
Available variablesBelow hintContext-aware per trigger type: Jira shows 6 vars, SideButton shows 4 vars, Cron shows "No trigger variables available"
Effort toggle buttons#form-effort-groupMax / High / Medium buttons — Medium selected by default (sky highlight)
Cancel button#form-cancel-btn or #form-cancel-btn-2Closes form without saving
Save button#form-save-btnSky blue button, saves the automation
Close (X) buttonForm header X iconCloses form

Automation List

ElementSelector / RefNotes
Column headers"Automation" + "Actions"Table header row
Automation row[data-automation-row="{id}"]Container for each automation row
Toggle switch[data-toggle-automation="{id}"]Emerald when enabled, slate when disabled. Click toggles automation
Automation nameLink textClickable, navigates to /portal/automations/{id} detail page
Trigger type badgeColored pillJira (blue text-blue-400), Cron (violet text-violet-400), SideButton (emerald text-emerald-400)
Workflow labelBelow nameFormatted workflow name (e.g. "QA Validate", "SE Work")
Dispatch count badgeAmber badge"N jobs" — links to /portal/queue?automation_id={id}, shows total dispatched count
Edit buttonPencil icon linkLinks to /portal/automations/{id}/edit
Manual trigger buttonPlay icon buttonManually fires the automation
Delete button[data-delete-automation="{id}"]Trash icon, deletes the automation (with confirmation)
Disabled rowAutomation disabledRow shown at 50% opacity

Detail Page (/portal/automations/{id})

ElementSelector / RefNotes
Enable/disable toggle#detail-togglebg-emerald-500 when enabled, bg-slate-600 when disabled
Toggle label#detail-toggle-label"Enabled" / "Disabled" text
Manual trigger button#trigger-btnOpens trigger dialog
Delete button#delete-btnDeletes automation
Trigger dialog#trigger-dialogModal, initially hidden
Dialog ticket URL#trigger-ticket-urlOptional ticket URL input in trigger dialog
Dialog dispatch button#trigger-confirmConfirms manual trigger dispatch
Dialog cancel button#trigger-cancelCancels trigger dialog
Dialog result#trigger-resultShows dispatch result message
Logs container#logs-contentPaginated trigger execution log entries
Logs pagination info#logs-infoPagination info text
Logs prev button#logs-prevPrevious page of logs
Logs next button#logs-nextNext page of logs

Empty State

ElementNotes
Empty iconRefresh/cycle icon in rounded box
Empty text"No automations yet"
Empty hint"Automations trigger workflows based on events from Jira, SideButton, or a cron schedule"

Data Model

Automation

FieldTypeDescription
idnumberAutomation ID (auto-increment)
account_idnumberAccount that owns this automation
namestringUser-defined automation name
enablednumberSQLite boolean (0/1) — whether automation is active
trigger_typestring"jira" / "sidebutton" / "cron"
trigger_configstring (JSON)Trigger-specific configuration (Jira filters, cron expression, etc.)
action_workflowstringWorkflow ID to dispatch (e.g. "qa-validate")
action_configstring (JSON)Action params: agent, effort, workflow input overrides
created_atstring (datetime)Creation timestamp
updated_atstring (datetime)Last update timestamp

Automation Log

FieldTypeDescription
idnumberLog entry ID
automation_idnumberParent automation
trigger_eventstring (JSON)Incoming event payload that triggered evaluation
matchednumberSQLite boolean — whether event matched trigger filters
dispatched_job_idnumber (nullable)Job ID if dispatch succeeded
created_atstring (datetime)When event was processed

Trigger Types

TypeBadge ColorConfiguration
JiraBlueWebhook filters: project, issue type, assignee, status. Auto-passes: trigger.ticket_url, trigger.project, trigger.assignee, trigger.status, trigger.issue_type, trigger.issue_key
SideButtonEmeraldJob lifecycle events (started/completed). Filters: workflow, event_type, agent. Agent "same" = triggers on same agent. Auto-passes: trigger.ticket_url, trigger.workflow, trigger.agent, trigger.event
CronVioletStandard 5-field cron format. Presets: "Every hour", "Daily 9am", "Weekdays 9am", "Weekly Mon 9am". No auto-mapped variables

Template Variables

Trigger variables can be used in workflow params via {{trigger.variable_name}} syntax. The ticket_url param auto-fills with {{trigger.ticket_url}} for Jira and SideButton triggers. The form shows available variables contextually below the hint field:

Trigger TypeAvailable Variables
Jira{{trigger.ticket_url}}, {{trigger.project}}, {{trigger.assignee}}, {{trigger.status}}, {{trigger.issue_type}}, {{trigger.issue_key}}
SideButton{{trigger.ticket_url}}, {{trigger.workflow}}, {{trigger.agent}}, {{trigger.event}}
CronNone — shows "No trigger variables available"

API Endpoints

MethodEndpointDescription
GET/api/automationsList all automations for account
POST/api/automationsCreate new automation
PUT/api/automations/:idUpdate automation
DELETE/api/automations/:idDelete automation
PUT/api/automations/:id/toggleToggle enabled/disabled
POST/api/automations/:id/triggerManually trigger, returns { success, jobId }
GET/api/automations/:id/logs?limit=50&offset=0Paginated trigger execution logs

Available Workflows (all roles)

Display NameValueRole
PM Agent: Drive Ticketpm-drivePM
PM Agent: Sprint Lifecyclepm-sprintPM
Ops: Pull All Repospull-reposOPS
QA: Re-review PR After Fixesqa-followupQA
QA: Test Live Site (New Ticket)qa-new-ticketQA
QA: Regression Test (Live Site)qa-regressionQA
QA: Review PR Fixqa-validateQA
SD Agent: Fill Skill Modulesd-coverageSD
SE Agent: Apply Review Feedbackse-followupSE
SE Agent: Root Cause Analysisse-rcaSE
SE Agent: RCA + Fix + PRse-rca-fixSE
SE Agent: Implement Fix + PRse-workSE

States & Variations

StateTriggerVisual Indicator
No automationsAccount has none created"No automations yet" empty state with hint
Form hiddenDefaultOnly header and list visible
Form visibleClick "+ New Automation"Create form appears above list
Automation enabledtoggle onEmerald toggle, full opacity row
Automation disabledtoggle offSlate toggle, 50% opacity row
Has dispatchesJobs dispatchedAmber "N jobs" badge linking to queue
No dispatchesNo jobs yetNo dispatch count badge shown
Jira triggertrigger_type = 'jira'Blue "Jira" badge
Cron triggertrigger_type = 'cron'Violet "Cron" badge
SideButton triggertrigger_type = 'sidebutton'Emerald "SideButton" badge
Jira not configuredNo Jira credentials in SettingsYellow warning banner: "Jira connection required" with Settings link; filter controls hidden
Detail pageClick automation nameShows config, toggle, trigger button, delete, and logs
Trigger dialog openClick trigger button on detailModal with optional ticket URL and dispatch button
Trigger dialog resultAfter dispatchShows success message with job ID
Edit pageClick pencil iconForm pre-filled with automation config at /portal/automations/{id}/edit
Logs displayedDetail page loadPaginated trigger log entries below automation config

Common Tasks

1. Create a new automation

  1. Click "+ New Automation" button
  2. Enter a name (e.g. "Auto-QA on ticket update")
  3. In WHEN section, select Trigger Type (e.g. "Jira")
  4. Configure trigger properties (e.g. Jira filters)
  5. In WHAT section, select Workflow (e.g. "QA Validate")
  6. Optionally select Agent (defaults to "Any available agent")
  7. Optionally fill workflow params
  8. Select Effort level (defaults to Medium)
  9. Click "Save"

2. Enable/disable an automation

  1. Click the toggle switch on the automation row
  2. Toggle changes color: emerald = enabled, slate = disabled

3. Manually trigger an automation

  1. Click the play icon button on the automation row
  2. Automation fires immediately regardless of trigger config

4. View dispatch history

  1. Click the amber "N jobs" badge on the automation row
  2. Navigates to /portal/queue?automation_id={id} showing all items from this automation

5. Edit an automation

  1. Click the pencil icon on the automation row
  2. Navigates to /portal/automations/{id}/edit

6. Delete an automation

  1. Click the trash icon on the automation row
  2. Confirm deletion

7. View automation detail and logs

  1. Click the automation name link in the list
  2. Detail page shows config summary, enable/disable toggle, trigger/delete buttons
  3. Trigger logs section shows paginated history of trigger events and dispatch results

8. Manually trigger from detail page

  1. Navigate to automation detail page
  2. Click the trigger button (#trigger-btn)
  3. Trigger dialog opens with optional ticket URL input
  4. Optionally enter a ticket URL
  5. Click "Dispatch" to trigger, result message shows job ID

9. Configure Jira trigger

  1. Select "Jira" as Trigger Type
  2. Optionally filter by Project, Issue Type, Assignee (with autocomplete), Status
  3. In Workflow Params, use {{trigger.ticket_url}} for auto-filled ticket URL

10. Configure Cron trigger

  1. Select "Cron" as Trigger Type
  2. Enter cron expression (minute hour day month weekday) or click a preset button
  3. Presets: "Every hour", "Daily 9am", "Weekdays 9am", "Weekly Mon 9am"

11. Configure SideButton trigger

  1. Select "SideButton" as Trigger Type
  2. Optionally filter by Workflow, Event Type (completed/started), Agent
  3. Agent "same" option chains to the same agent that ran the triggering job

Tips

  • Automations default effort to Medium (Sonnet), unlike Queue which defaults to High (Opus)
  • Jira automations require Jira credentials configured in Settings > General (jira_url, jira_email, jira_api_token)
  • Jira trigger events include "jira:issue_updated" — the hint field in dispatched jobs shows the trigger context
  • Dispatch count badge links to the queue filtered by automation_id for tracing
  • Automations dispatch to the queue (source="automation"), which then dispatches to agents
  • The automation name link navigates to a detail page at /portal/automations/{id}
  • Template variables like {{trigger.ticket_url}} in params auto-fill from trigger event data
  • SideButton trigger "same" agent option enables chaining (e.g., SE finishes → QA runs on same agent)
  • Loop prevention: jobs with source='automation' are skipped by the automation trigger handler — no infinite loops
  • Cron preset buttons fill the expression field — click then adjust if needed
  • Detail page trigger dialog allows specifying an optional ticket URL for the dispatched job

Gotchas

  • Effort default differs: Automation form defaults to Medium (Sonnet), while Queue form defaults to High (Opus)
  • Jira config required: Jira trigger type shows yellow warning banner and hides filter controls when Jira credentials are not configured in Settings. The warning includes a link to Settings.
  • All workflow roles available: Automations now include all 13 workflows across SE, QA, PM, OPS, and SD roles — not limited to SE/QA
  • Toggle is non-destructive: Disabling an automation doesn't delete it or cancel pending items
  • Manual trigger: The play button fires the automation once immediately — useful for testing
  • Delete confirmation: Delete button should show a confirmation before removing the automation
  • Dispatch count badge: Shows total dispatched count, not just active/pending — includes completed/failed
  • Agent dropdown format: Shows "display_name (hostname)" when display_name is set, otherwise just hostname
  • Loop prevention: Automation-dispatched jobs (source='automation') don't re-trigger automations — but manual triggers do
  • SideButton "same" agent: The "same" option dispatches to the agent that ran the triggering job, not a random available agent
  • Jira assignee autocomplete: The #jira-user input uses a datalist for autocomplete, with the actual account ID stored in hidden #jira-user-value
  • Trigger logs pagination: Detail page logs load 50 per page with prev/next controls — not infinite scroll
  • Detail page trigger dialog: Manual trigger from detail page opens a dialog (unlike list page play button which fires immediately)
  • Workflow IDs changed: IDs use dashes without agent_ prefix (e.g. se-work not agent_se_work). Display names are now descriptive (e.g. "SE Agent: Implement Fix + PR")
  • ticket_url auto-fill: For Jira and SideButton triggers, the ticket_url param auto-fills with {{trigger.ticket_url}} — Cron leaves it empty
  • Context-aware variable hints: The form shows available template variables below the hint field, changing per trigger type (6 for Jira, 4 for SideButton, none for Cron)
  • SideButton trigger layout: Workflow and Event Type dropdowns are side-by-side; Agent is on its own row below